A successful communication network depends in large part on planning. Part of planning includes designing the various devices in the network for ease of management. To this end, a communication protocol known as Simple Network Management Protocol (SNMP) was developed and is commonly utilized. SNMP commands include GET for reading information and SET for configuring information. In general, the management of the network is controlled by a Network Management System (NMS). Each device in the network running a SNMP agent has a set of variables about itself which the management applications in the NMS query at regular intervals. Each set of variables is known as a Management Information Base (MIB). Some MIB variables may depend on other variables. The values for the variables are typically stored in a table. There may be many tables in a particular MIB and there may be more than one MIB for each device. The size of a MIB table may vary from a few values to hundreds or even thousands of values depending on the device. Devices may include routers, switches, access servers, and the like.
Conventionally, when the management applications in the NMS query a MIB table, the entire contents of the table are transmitted from the agent to the NMS. If the table is large and the changes since the last poll are few, then this process is inefficient.
A definite need exists for a more efficient means for detecting data modifications in MIB tables by an SNMP NMS device. Specifically, a need exists for a method and apparatus that may be capable of monitoring changes and reporting when and what changes have occurred and by whom. Ideally, such a means would be user friendly, robust, quick, and accurate.